package com.tbit.uqbike.webmanager.dao.core;

import com.tbit.manager.api.dto.GiftCardUserDTO;
import com.tbit.uqbike.object.pojo.GiftCardUser;
import com.tbit.uqbike.object.pojo.vo.UserGiftCardAreaVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author chenmengran
 * @Description: 用户礼品卡使用绑定
 * @date 2020\1\4 000413:58
 */
public interface GiftCardUserDao {

    /**
     * 获取用户的礼品卡
     *
     * @param params
     * @return
     */
    GiftCardUser getByUser(Map<String, Object> params);

    /**
     * 添加礼品卡余额
     *
     * @param params
     */
    void insert(Map<String, Object> params);

    /**
     * 更新用户礼品卡金额
     *
     * @param params
     */
    void updateMoney(Map<String, Object> params);

    /**
     * 添加用户运营区域金额
     *
     * @param giftCardUser
     */
    void insert(GiftCardUser giftCardUser);

    /**
     * 获取用户修改礼品卡推荐区域
     *
     * @param userId 用户id
     * @return
     */
    List<UserGiftCardAreaVO> getUserGiftCardRecommendArea(@Param("userId") Integer userId);

    /**
     * 获取用户对于运营区域的礼品卡余额
     *
     * @param accountId 区域id
     * @param userId 用户id
     * @return GiftCardUserDTO
     */
    GiftCardUserDTO getRechargeMoneyAndGiftMoney(Integer accountId, Integer userId);
}
